KMP Based Pattern Matching Algorithms for Multi-Track Strings

نویسندگان

  • Diptarama
  • Yohei Ueki
  • Kazuyuki Narisawa
  • Ayumi Shinohara
چکیده

Multi-track string is an N -tuple strings of length n. For two multi-track strings T = (t1, t2, . . . , tN ) of length n and P = (p1, p2, ..., pM ) of length m, permuted pattern matching is a problem to find all positions i such that P is permuted match with T[i : i+M ]. We propose three new algorithms for permuted pattern matching based on the KMP algorithm. The first algorithm is an exact matching algorithm that runs in O(nN) time after O(mM)-time preprocessing. The second and third algorithms are filtering algorithms that run in O(n(N + σ)) after O(m(M + σ))time preprocessing, where σ is the size of alphabet. Experiments show that our algorithms run faster than AC automaton based algorithm that proposed by Katsura et al. [5].

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Time Complexity of Knuth-Morris-Pratt String Matching Algorithm

This project centers on the evaluation for the time complexity of Knuth-Morris-Pratt(KMP) string matching algorithm. String matching problem is to locate a pattern string within a larger string. The best performance in terms of asymptotic time complexity is currently linear, given by the KMP algorithm. In this algorithm, firstly a prefix for the pattern string is computed and then based on this...

متن کامل

On Compile Time Knuth-Morris-Pratt Precomputation

Many keyword pattern matching algorithms use precomputation subroutines to produce lookup tables, which in turn are used to improve performance during the search phase. If the keywords to be matched are known at compile time, the precomputation subroutines can be implemented to be evaluated at compile time versus at run time. This will provide a performance boost to run time operations. We have...

متن کامل

Position Heaps for Permuted Pattern Matching on Multi-Track String

A multi-set of N strings of length n is called a multi-track string. The permuted pattern matching is the problem that given two multi-track strings T = {t1, . . . , tN} of length n and P = {p1, . . . , pN} of length m, outputs all positions i such that {p1, . . . , pN} = {t1[i : i+m−1], . . . , tN [i : i+m−1]}We propose two new indexing structures for multi-track stings. One is a time-efficien...

متن کامل

Transposition Invariant Pattern Matching for Multi-Track Strings

We consider the problem of multi-track string matching. The task is to find the occurrences of a pattern across parallel strings. Given an alphabet Σ of natural numbers and a set S over Σ of h strings si = s1 · · · s i n for i = 1, . . . , h, a pattern p = p1 · · · pm has such an occurrence at position j of S if p1 = s i1 j , p2 = s i2 j+1, . . . , pm = s im j+m−1 holds for i1, . . . , im ∈ {1,...

متن کامل

Multithreaded Implementation of Hybrid String Matching Algorithm

Reading and taking reference from many books and articles, and then analyzing the Navies algorithm, Boyer Moore algorithm and Knuth Morris Pratt (KMP) algorithm and a variety of improved algorithms, summarizes various advantages and disadvantages of the pattern matching algorithms. And on this basis, a new algorithm – Multithreaded Hybrid algorithm is introduced. The algorithm refers to Boyer M...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016